<script>
import { getNoticeList, putPushed } from "./common/api/notice.js";
import Storage from "@/common/js/storage";
function getNotices(app) {
  let u = Storage.get("userInfo") || {};
  if (u.id) {
    const noticeListQuery = {
      search: null,
      page: 1,
      limit: 20,
      sort: {
        id: "",
      },
      clientSide: 1,
      isGetAll: true,
    };
    getNoticeList(noticeListQuery)
      .then((response) => {
        const { list, total } = response;
        const isNotPushList = list.filter((item) => !item.isPushed);
        if (isNotPushList.length !== 0) {
          putPushed({
            noticeIds: isNotPushList.map((item) => item.id).toString(),
          })
            .then((response) => {})
            .catch(() => {});
          isNotPushList.forEach((e, i, arr) => {
            // 推送通知
            plus.push.createMessage(e.content, "notice", {
              cover: false,
              sound: "system",
              title: e.title,
            });
          });
        }
      })
      .catch(() => {});
  }
}

export default {
  onLaunch: async function () {
    this.addNetWorkEventListener();
    let token = this.$storage.get("token") || "";
    this.$store.commit("User/setToken", {
      token,
    });
    this.$store.dispatch("User/getUserInfo");
    this.$store.dispatch("User/getDictDataList");
    console.log(token, "?token");
    // console.log('App Launch');

    // #ifdef APP-PLUS
    plus.screen.lockOrientation("portrait-primary");
    // #endif

    // 推送接收
    // #ifdef APP-PLUS
    // 获取通知轮询
    getNotices(this);
    setInterval(() => {
      getNotices(this);
    }, 8 * 1000);
    // /* 5+  push 消息推送 ps:使用:H5+的方式监听，实现推送*/
    plus.push.addEventListener(
      "click",
      async function (msg) {
        // console.log("click-message: "+JSON.stringify(msg));
        //这里可以写跳转业务代码
        switch (msg.payload) {
          case "notice":
            uni.$emit("change-page", 3);
            break;
        }
      },
      false
    );
    // // 监听在线消息事件
    // plus.push.addEventListener("receive", function(msg) {
    // 	// plus.ui.alert(2);
    // 		//这里可以写跳转业务代码
    // 	console.log("recevice:"+JSON.stringify(msg))
    // }, false);
    // #endif

    /* App更新 */
    // #ifdef APP-PLUS
    // 获取最新版本信息
    // let parameter2Settings = null
    // await getSystemParameter2Settings().then(response => {
    // 	parameter2Settings = response
    // }).catch(() => {  })
    // if (parameter2Settings !== null) {
    // 	// 获取本地应用资源版本号
    // 	plus.runtime.getProperty(plus.runtime.appid, function(inf) {
    // 		// TODO：安卓和IOS版本号分开判断，注：只有版本号判断和整包下载逻辑不一样
    // 		if (uni.getSystemInfoSync().platform == "android") {
    // 			// 先判断整包更新版本
    // 			if (inf.versionCode < parameter2Settings.versionCode/* && inf.version !== parameter2Settings.version */) {
    // 				uni.showModal({
    // 					content: '有新版本更新，前往下载？',
    // 					success: function (res) {
    // 						if (res.confirm) {
    // 							if (parameter2Settings.apkUrl !== '') {
    // 								plus.runtime.openURL(parameter2Settings.apkUrl)
    // 							} else {
    // 								uni.showToast({
    // 									icon: 'none',
    // 									title: '抱歉，未找到下载地址！'
    // 								});
    // 							}
    // 						} else if (res.cancel) {

    // 						}
    // 					}
    // 				});
    // 			}
    // 			// 后判断wgt更新版本
    // 			else if (inf.version !== parameter2Settings.version) {
    // 				if (parameter2Settings.wgtUrl !== '') {
    // 					uni.showLoading({
    // 						title: '更新中',
    // 						mask: true
    // 					});
    // 					uni.downloadFile({
    // 						url: parameter2Settings.wgtUrl,
    // 						success: (downloadResult) => {
    // 							if (downloadResult.statusCode === 200) {
    // 								plus.runtime.install(downloadResult.tempFilePath, {
    // 									force: true
    // 								}, function() {
    // 									uni.hideLoading()
    // 									plus.runtime.restart();
    // 									// console.log('install success...');
    // 								}, function(e) {
    // 									// console.error('install fail...');
    // 								});
    // 							}
    // 						}
    // 					});
    // 				}
    // 			}
    // 		} else if (uni.getSystemInfoSync().platform == "ios") {
    // 			// 先判断整包更新版本
    // 			if (inf.versionCode < parameter2Settings.iosVersionCode/* && inf.version !== parameter2Settings.version */) {
    // 				uni.showModal({
    // 					content: '有新版本更新，前往下载？如不能跳转则去往App Store手动进行更新',
    // 					success: function (res) {
    // 						if (res.confirm) {
    // 							if (parameter2Settings.appleStoreUrl !== '') {
    // 								plus.runtime.openURL(parameter2Settings.appleStoreUrl)
    // 							} else {
    // 								uni.showToast({
    // 									icon: 'none',
    // 									title: '抱歉，未找到下载地址！'
    // 								});
    // 							}
    // 						} else if (res.cancel) {

    // 						}
    // 					}
    // 				});
    // 			}
    // 			// 后判断wgt更新版本
    // 			else if (inf.version !== parameter2Settings.version) {
    // 				if (parameter2Settings.wgtUrl !== '') {
    // 					uni.showLoading({
    // 						title: '更新中',
    // 						mask: true
    // 					});
    // 					uni.downloadFile({
    // 						url: parameter2Settings.wgtUrl,
    // 						success: (downloadResult) => {
    // 							if (downloadResult.statusCode === 200) {
    // 								plus.runtime.install(downloadResult.tempFilePath, {
    // 									force: true
    // 								}, function() {
    // 									uni.hideLoading()
    // 									plus.runtime.restart();
    // 									// console.log('install success...');
    // 								}, function(e) {
    // 									// console.error('install fail...');
    // 								});
    // 							}
    // 						}
    // 					});
    // 				}
    // 			}
    // 		}
    // 	});
    // }
    // #endif

    // #ifdef MP
    // 获取系统信息，在底部提交按钮做适配
    uni.getSystemInfo({
      success: (res) => {
        // console.log(res)
        let modelmes = res.model; //手机品牌
        console.log("手机品牌", modelmes);
        if (modelmes.indexOf("iPhone X") != -1) {
          //XS,XR,XS MAX均可以适配,因为indexOf()会将包含'iPhone X'的字段都查出来
          this.globalData.isIpx = true;
        }
      },
    });
    // #endif
  },
  onShow: function () {
    // console.log('App Show');
  },
  onHide: function () {
    // console.log('App Hide');
  },
  methods: {
    addNetWorkEventListener() {
      uni.getNetworkType({
        success: (res) => {
          const networkType = res.networkType;
          this.$store.commit("setNetWorkStatus", "none" != networkType);
          //没网，存个没网标识，监听网络状态
          uni.onNetworkStatusChange((r) => {
            this.$store.commit("setNetWorkStatus", r.isConnected);
          });
        },
      });
    },
  },
  globalData: {
    title: "润滑卫士",
    refreshIndex: false,
    isIpx: false,
    baseUrl: "https://crunapi.keepcode.cn",
    baseStaticUrl: "http://crun.keepcode.cn",
  },
};
</script>
<style lang="stylus">
@import './common/stylus/base';

#app {
}
</style>
<style lang="scss">
/* 注意要写在第一行，同时给style标签加入lang="scss"属性 */

@import "./common/uni.css";
@import "./common/reset.scss";

image {
  will-change: transform;
  height: 100%;
}

p,
view,
div {
  margin: 0;
}
</style>
